package com.linkgie.galaxyframework.metric;

/**
 * 值对象转换接口；
 * <p>
 * “值对象”是一个带元数据标注的无状态对象；
 * <p>
 * 与元数据框架结合使用可以对指标值进行格式化显示；
 */
public interface ValueObjectConverter<T extends KeyValueMetric> {

    /**
     * 值对象类型；
     * 
     * @return
     */
    Class<T> getValueObjectType();

    /**
     * 基于指标值创建对应的值对象；
     * 
     * @param metric
     * @return
     */
    T createValueObject(Metric metric);

}
